package club.smartdot.util;

import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class RedisUtil {
	// 定义连接池对象
	private static JedisPool pool = null;
	// 创建连接池
	public static JedisPool open(String host, int port) {
		if(pool == null) {
			// 使用JedisPool
			JedisPoolConfig config = new JedisPoolConfig();
			// 最大的Jedis实例数(连接池中是Jedis实例，默认是8)
			config.setMaxTotal(10);
			// 最大的空闲实例数,设置这个可以保留足够的连接，快速的获取到Jedis对象
			config.setMaxIdle(3);
			// 提前检查Jedis对象,为true获取的Jedis一定是可用的
			config.setTestOnBorrow(true);
			// 创建Jedis连接池，Redis没有访问密码时的使用方式
			// pool = new JedisPool(config, host, port);
			/**
			 * 创建Jedis连接池，Redis有访问密码时的使用方式
			 * 参数: JedisPoolCOnfig Redis的主机地址 端口 连接超时时间单位毫秒 访问密码
			 */
			// pool = new JedisPool(config, host, port, 60*1000, "caifenglin");
			pool = new JedisPool(config, host, port, 60*1000);
		}
		return pool;
	}
	
	// 关闭连接池
	public static void close() {
		if(pool != null) {
			pool.close();
		}
	}
}
